package com.dubbo.service.business.pay;

import java.io.IOException;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * 微信支付
 * @author lihongwu
 * 2019年2月28日 下午3:47:45
 */
public interface PayService {

	/**
	 * <h1>确认支付前请求接口</h1>
	 * <p>
	 * 根据订单id,支付方式和物流配送类型,获取支付金额
	 * </p>
	 * 
	 * @author chenwei
	 * @date 2018年4月11日 上午10:55:59
	 * @param request
	 * @param orderId
	 * @param paymentType
	 *            支付方式0=定金+线下尾款支付 ;1=全款
	 * @param shippingType
	 *            配送方式0=上门自提 1=物流运送
	 * @param openId
	 *            微信用户id
	 * @return
	 * @throws Exception 
	 */
	Map<String, Object> getOrderPayPrice(HttpServletRequest request, String orderId, String openId, String walletPrice) throws Exception;

	void callbackPay(HttpServletRequest request, HttpServletResponse response) throws IOException, Exception;

}
